package com.malou.server.ventas.cliente;

import com.extjs.gxt.ui.client.data.FilterPagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;

import com.malou.client.util.MensajeData;
import com.malou.client.ventas.cliente.Cliente;
import com.malou.client.ventas.cliente.ClienteService;
import com.malou.server.base.util.GxtGridPaginate;
import com.malou.server.ventas.cliente.Clientes;


public class ClienteServiceImpl extends RemoteServiceServlet implements
ClienteService {
	private static final long serialVersionUID = 1L;

	@Override
	public PagingLoadResult<Cliente> paginateCliente(FilterPagingLoadConfig config) {
		
		GxtGridPaginate paginate = new GxtGridPaginate();
		paginate.config = config;
		
		return Clientes.getPaginate(paginate);
	}
  	
	@Override
	public MensajeData save(Cliente cl) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		
		if(!Clientes.save(cl)){
			data.guardado = false;
			data.errorTipo = Clientes.errorTipo;
		}
		
		return data;
	}
	
	@Override
	public MensajeData delete(Integer id) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		
		if(!Clientes.delete(id)){
			data.guardado = false;
		}
		
		return data;
	}
	
	@Override
	public MensajeData deleteAll(String ids) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		
		if(!Clientes.deleteAll(ids)){
			data.guardado = false;
		}
		
		return data;
	}

	@Override
	public Cliente getCliente(String dni_ruc) {
		return Clientes.getCliente(dni_ruc);
	}
	
	
}